/**
 * gminiService.js - Gemini AI API 服务
 */

import axios from 'axios';

// 创建一个 axios 实例
const gminiApi = axios.create({
  baseURL: import.meta.env.VITE_APP_API_BASE_URL || 'http://localhost:8000',
  timeout: 30000, // 30秒超时
  withCredentials: true,
  headers: {
    'Content-Type': 'application/json',
    'X-API-Secret': import.meta.env.VITE_APP_API_SECRET
  }
});

/**
 * 创建用户消息对象
 * @param {string} content - 消息内容
 * @returns {Object} 消息对象
 */
export function createUserMessage(content) {
  return {
    role: 'user',
    content
  };
}

/**
 * 创建助手消息对象
 * @param {string} content - 消息内容
 * @returns {Object} 消息对象
 */
export function createAssistantMessage(content) {
  return {
    role: 'assistant',
    content
  };
}

/**
 * 发送消息到 Gemini API
 * @param {string} content - 用户输入的消息内容
 * @returns {Promise} API 响应
 */
export async function sendMessage(content) {
  try {
    const response = await gminiApi.post('api/chat/gmini', {
      messages: [{
        role: 'user',
        content
      }],
      model: 'gemini-pro',
      temperature: 0.7
    });
    console.log("response.data:",response.data)

    return response.data;
  } catch (error) {
    console.error('Gmini API Error:', error);
    return error.response?.data|| error;
    throw error.response?.data || error;
  }
}
